The last half century has seen the evolution of the computing technology from the mainframe-based host computing stage to the desktop-based network computing stage. Recently, the trend is heading for the pervasive computing which involves various mobile apparatus such as cellular phones, notebooks, PDA, in-vehicle devices, etc.
However, as far as the pervasive computing and other previous computing paradigms, for example, the network computing are concerned, certain OS, corresponding supporting toolkits and applications must be developed and installed before usage. Otherwise, the machine cannot carry on corresponding application computing or run corresponding software systems. This results in current situation in which the requirement of all PC computer indexes (the size of memory and hard-disk, the frequency of CPU, etc.) are higher and higher, and software and OSs are becoming more and more complex and enormous. As for those mobile devices (PDA, cellular phone, etc.) and digital appliances (such as ISDN telephone, etc.) which can only be installed with a small embedded OS because of its limited capability, although they can run some small software, they have difficulties to inter-connect and inter-communicate to the universal computer network system such as the Internet. Moreover, the continuous upgrade of hardware and thereof the corresponding relationship between hardware and software systems makes the software systems become more and more complex, which as a result increases the cost of usage and maintenance. Besides, the abandoned obsolete computers become a new source of garbage and result in new environment pollution.
The Transparence Computing (ZHANG Y. X., “Transparence Computing: concept, architecture and examples”, college journal of electron, VOL 32, NO 12A, 12, 2005) is a computing paradigm in which users are not required to perceive the physical distribution of the computer OS, supporting toolkits and applications, instead, corresponding computing services can be found and accessed within pervasive devices (including various mobile/non-mobile devices and appliances) according to users demand, while these services are persistently stored in servers on distributed networks
FIG. 1 shows that the system of the Transparence Computing paradigm is constituted by clients and servers, having similar hardware architecture as the legacy client/server system. An important difference between them is: the clients in the Transparence Computing paradigm can be various different terminals (PDA, mobile terminals, appliances. etc.), nowadays so-called pervasive devices.
Another important difference of the Transparence Computing comparing to other computing paradigms like the client/server is: every computing device of all other computing paradigms must correspond to a given OS. This is not only because that the OS kernel must match with the low-level interface of hardware, but also because that it is a traditional method. However, the Transparence Computing enables the users to choose and use preferred OS and applications on a computing device. And these OS, toolkits and applications need not to be persistently stored in the device in advance, instead, they can be acquired on demand by downloading from servers storing these resource. As long as the hardware interface of the device can support these OS, users can dynamically download and install these OSs, toolkits, applications etc., according to their needs. During this process, the existing local software systems and programs will be overwritten to save a large amount of storage and computing time resource of the client devices.
Another strength of Transparence Computing is that its servers are used only for storing various resources, not the applied computing. This substantially reduces the server's burden and shortens its response time for users.
The physical driver layer of Transparence Computing provides the network connection between servers and clients. It consists of NIC, drivers and the network-connecting programs. For example, Ethernets, including the high-speed Ethernet and wireless Ethernet of 802.11, can all serve as the physical driver layer for Transparence Computing. Other examples include IEEE1394, infrared, bluetooth, and cable TV. The physical driver layer corresponds to the pervasive communication, making the Transparence Computing paradigm usable in various environments like wired, wireless and mobile environments. Since Transparence Computing uses universal communication networks to support communication, it can be easily inter-connected to the Internet, TV-Cable, and the like.
The Transparence Computing layer is the key layer of Transparence Computing. It consists of: the Multi-OS Booting Connection protocol, the Application Schedule and Management module, the User Request Management module, the User Management module, and the Server Resource Management module.
The application computing layer accepts and serves users computing requests. It enables the user to use a client (computer) as if it is a common PC. The layer can also implement the Active Services (referring to: ZHANG YAO XUE, “Active Service: Concept, Architecture and Implementation”, ISBN:7030145763), which could provide users with more intelligent, personalized and comprehensive computing services.
Based on the Transparence Computing paradigm, the present invention provides a computing system which consists of client-side and server-side devices, as well as the booting method of its client devices, and the self-organizing method of its server clusters. In particular, the invention is an NC (Network Computing) system based on the Transparence Computing paradigm.
The concept of the Network Computer was brought forward in 1995 by Ellision, who developed Oracle. Simplifying the hardware of the PC, the initial NC is a low-cost, diskless system with an embedded system in its main board ROM. Its software consists mainly of a Java virtual machine and a WWW browser. After the embedded OS has been run, it downloads and loads Java Applets stored on the servers by the WWW method. The representative NC of this kind is the Java station NC of SUN Microsystems®. It has a similar but simpler hardware configuration than the PC. As for software, it has an embedded OS in local ROM (JavaOS), and can support Java virtual machine and Internet protocols. After the local embedded OS has been run, it can access programs and data stored on application servers. This kind of NC can support very limited applications and cannot support prevalent Windows applications.
NetPC is another similar solution provided by Microsoft. Like a normal PC, NetPC has a local hard disk, but it does not store any OS. After being powered on, it downloads an OS and applications from servers to its local hard disk, and then executes all of the applications locally. However, NetPC has less flexibility and scalability than the traditional PC. It can only run the Microsoft Windows® operating systems. Moreover, it downloads and loads not only the OS, but also all applications to the local hard disk in one batch, which could easily result in a strong network traffic burst and possible network congestion. NepPC also cannot support running large software. Like the traditional PC, another disadvantage of NetPC is that its hardware has to be upgraded very frequently to meet the ever-growing needs of the user.
The Thin Client is a concept derived from the client/server paradigm. The Thin Client has simpler hardware than a PC, having no local hard disk. It has a large capacity ROM on the main board to store an embedded OS or X-Terminal protocol codes. After being powered on, the Thin Client only runs the embedded OS or the X-Terminal protocol codes on it, and accesses programs and data on servers. The most important attribute is that the computing does not need to be implemented locally because the running of application programs and the processing of data are all done by the remote servers. The client only deals with the reception and displaying of computing results. The Thin Client is a descendant of the dumb terminating technique. The WBT (the Window-Based Terminal) is a type of Thin Client. The Thin Client does not carry on any computing and data processing tasks on the client. It is only responsible for the users interface processing, so the performance requirement of the server is very high. When some applications with intense computing requirements are needed (e.g. a multimedia encoding/decoding application) the maximum load capability of the server will be greatly limited.
In short, as for the various existing computer forms, because of the limitation of their designing paradigm, users have to perceive the location of computing resources including application programs, supporting toolkits, and the OS. Therefore, problems exist such as: the client-side devices have excessive computing dependence on servers; the system has minimal support for multimedia applications; upgrading software is difficult; and manageability is poor. Therefore if the traditional NC system can adopt the paradigm of Transparence Computing, the OS and initial applications will be downloaded from server to local diskless NC client (computer) after being powered on. Thus the NC system could not only stay low-cost but also better support client requests, especially requests for multi-media applications. We termed this solution the MMNC (Manageable Multi-media Network Computer), which is a type of NC system based on the Transparence Computing paradigm. One version of the serial ‘Longxin’ Network Computers, which are being developed by our Network System Group of DCST, Tsinghua University, is based on one prototype of MMNC.